package com.wcx.application.service;

import com.wcx.application.domian.ChatList;
import com.wcx.application.domian.ChatMessage;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface ChatService {

    /**
     * 查询聊天双方的关联id
     * @param fromUser
     * @param toUser
     * @return
     */
    String selectAssociation(String fromUser, String toUser);

    /**
     * 是否第一次聊天
     * @param fromUser
     * @param toUser
     * @return
     */
    Integer isFirstChat(String fromUser, String toUser);

    /**
     * 保存聊天记录
     * @param chatMessage
     * @return
     */
    void saveMessage(ChatMessage chatMessage);

    void InitList(ChatList chatList);

    void InitMessage(ChatMessage chatMessage);

    void updateLast(Boolean latest);

    List<ChatList> getList(String fromId);

    List<ChatMessage> getMessage(String fromId, String toId);

    List<ChatMessage> ChatMessageSearch(String fromId);

    List<ChatMessage> getChatMessagejianl(String fromId);


    /**
     * 获取当前用户的聊天列表
     * @param fromUser
     * @return
     */
//    ResultInfo getFromUserChatList(String fromUser);
//
//    /**
//     * 获取发送者与接收者的最近的聊天记录
//     * @param fromUser
//     * @param toUser
//     * @param currentIndex
//     * @return
//     */
//    ResultInfo getRecentChatRecords(String fromUser, String toUser, int currentIndex);
//
//    /**
//     * 更新是否在同一窗口值
//     * @param fromUser
//     * @param toUser
//     */
//    void updateWindows(String fromUser, String toUser);
//
//
//    /**
//     * 获取当前用户的未读数
//     * @param username
//     * @return
//     */
//    ResultInfo getUnreadTotalNumber(String username);
//
//    /**
//     *
//     * @param username
//     */
//    void resetWindows(String username);

}

